Criando uma simples lixeira para o usuário [Melhorado]
Publicado por Sandro Marcell 19/07/2007
[ Hits: 3.893 ]
Homepage: http://sanmarcell.wordpress.com
Versão melhorada de um script que cria uma simples lixeira para o usuário.
(Versão Tcl)
Falou!!!
#!/usr/bin/tcl # # Criando uma simples lixeira para o usuário. # (Versão Tcl) # # Autor: Sandro Marcell (sandro_marcell@yahoo.com.br) # # Uso: nome_script -r arquivo1 [arquivoN] # ou -e [Para esvaziar a lixeira] # # Obs.: # Arquivos e diretórios são removidos sem pedido de confirmação. # É possível o uso do metacaractere (*) # A opção -e remove a lixeira # Utilizando o script: proc Uso {argv0} { puts stderr "Uso: [file tail $argv0] -r arquivo1 \[arquivoN\] ou -e \[Para esvaziar a lixeira\]" } # Checando parâmetros: if {$argc == 0} { Uso $argv0 exit } # A lixeira: variable LIXEIRA "~/lixeira" if {![file exists $LIXEIRA]} { file mkdir $LIXEIRA } # Simples avisos: variable SUCESSO "Arquivo removido!" ERRO "-> Erro de entrada/saída. " # Capturando opção: set OPC [lvarpop argv 0] # Testando opção capturada: switch -- $OPC { -e { # Checando parâmetros: if {[llength $argv] >= 1} { puts stderr "A opção \[-e\] não aceita parâmetros." exit } else { if {[catch {file delete -force $LIXEIRA}] == 0} { puts stdout "Lixeira limpa!" exit } else { puts stderr $ERRO exit } } } -r { # Início do loop: foreach A $argv { # Testes condicionais: if {![file exists $A]} { puts stderr "-> Arquivo ou diretório não encotrado." continue } elseif {![file owned $A]} { puts stderr "-> Sem permissão para remover." continue } # Removendo: if {[catch {file copy -force $A $LIXEIRA}] == 0 &&\ [catch {file delete -force $A}] == 0} { puts stdout $SUCESSO } else { puts stderr $ERRO } } } default { Uso $argv0 exit } } # Fim
Convertendo escalas termométricas
Compactando / descompactando arquivos (Melhorado)
Simples visualizador de arquivos texto
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta